﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities.Auditing;

namespace WMSSystem.DYB
{
    /// <summary>
    /// 库位管理实体
    /// </summary>
    public class LocationManagement:AuditedAggregateRoot<Guid>
    {
        /// <summary>
        /// 仓库编号
        /// </summary>
        [Description("仓库编号")]
        public Guid WarehouseManagementId { get; set; }

        /// <summary>
        /// 库位编号
        /// </summary>
        [Description("库位编号")]
        [MaxLength(100)]
        public string Code { get; set; }

        /// <summary>
        /// 库位名称
        /// </summary>
        [Description("库位名称")]
        [MaxLength(100)]
        public string Name { get; set; }

        /// <summary>
        /// 库位容量/m2
        /// </summary>
        [Description("库位容量/m2")]
        public int Capacity { get; set; }
        /// <summary>
        /// 已使用容量
        /// </summary>
        [Description("已使用容量")]
        public int UseCapacity { get; set; }
        /// <summary>
        /// 库位主管(外键)
        /// </summary>
        [Description("库位主管(外键)")]
        public Guid LocationSupervisorId { get; set; }

        /// <summary>
        /// 库位状态
        /// </summary>
        [Description("库位状态")]
        public bool State { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [Description("备注")]
        [MaxLength(255)]
        public string Remark { get; set; }

        /// <summary>
        /// 位置描述
        /// </summary>
        [Description("位置描述")]
        [MaxLength(100)]
        public string LocationDescription { get; set; }

        /// <summary>
        /// 存储物品类型
        /// </summary>
        [Description("存储物品类型")]
        [MaxLength(50)]
        public string StorageItemType { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        [Description("数量")]
        public int? Num { get; set; }
        /// <summary>
        /// 存储物品
        /// </summary>
        [Description("存储物品")]
        public string? StoreItems { get; set; }
    }
}
